// https://nuxt.com/docs/api/configuration/nuxt-config

// antdv 自动按需引入组件
// https://www.antdv.com/docs/vue/introduce-cn
// vite.config.js 不能用，冲突。使用 options.vite 配置
import Components from "unplugin-vue-components/vite";
import { AntDesignVueResolver } from "unplugin-vue-components/resolvers";

export default defineNuxtConfig({
  devtools: { enabled: true },
  vite: {
    plugins: [
      // ...
      Components({
        resolvers: [
          AntDesignVueResolver({
            importStyle: false, // css in js
          }),
        ],
      }),
    ],
    // https://cn.vitejs.dev/config/ssr-options
    // 这个选项可以防止列出的依赖项在服务端渲染（SSR）时被外部化，这些依赖项将会在构建过程中被打包
    ssr: {
      noExternal: ["ant-design-vue"],
    },
  },
  modules: [
    "@unocss/nuxt",
    "floating-vue/nuxt",
    "@pinia/nuxt",                        // pinia 状态管理
    // {                                     // pinia 自动引入 defineStore as definePiniaStore
    //   autoImports: [
    //     // 自动引入 `defineStore()`
    //     "defineStore",
    //     // 自动引入 `defineStore()` 并重命名为 `definePiniaStore()`
    //     ["defineStore", "definePiniaStore"],
    //   ],
    // },
    '@pinia-plugin-persistedstate/nuxt',  // pinia 持久化
    "@vueuse/nuxt",
  ],
  // pinia持久化 全局配置
  piniaPersistedstate:{
    storage: "localStorage"
  }
});
